package com.wicket.okrbff.biz.service.dto.res;


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * @desc BffSenceDto
 * @使用场景
 */
@Data
public class BffSenceDto implements Serializable {

    /**
     * 场景ID:
     */
    @ApiModelProperty("场景ID")
    private String sceneId;

    /**
     * 场景编码:
     */
    @ApiModelProperty("场景编码")
    private String senceCode;

    /**
     * 场景中文名称:
     */
    @ApiModelProperty("场景中文名称")
    private String sceneName;
    /**
     * 场景介绍:
     */
    @ApiModelProperty("场景介绍")
    private String sceneRemark;
    /**
     * 场景logo:
     */
    @ApiModelProperty("场景logo")
    private String sceneLogo;
    /**
     * 是否是平台:
     */
    @ApiModelProperty("是否是平台")
    private String platformType;
    /**
     * 隶属联盟应用ID:
     */
    @ApiModelProperty("隶属联盟应用ID")
    private String ascriptionAppId;
    /**
     * 应用名称:
     */
    @ApiModelProperty("应用名称")
    private String appName;
    /**
     * 主体生命周期:
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;
    /**
     * 操作人就职记录ID:
     */
    @ApiModelProperty("操作人就职记录ID")
    private String operationInductionId;
    /**
     * 操作时间:
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;
    /**
     * 个人账号ID:
     */
    @ApiModelProperty("个人账号ID")
    private String userId;
    /**
     * 真实头像:
     */
    @ApiModelProperty("真实头像")
    private String userFace;
    /**
     * 真实姓名:
     */
    @ApiModelProperty("真实姓名")
    private String idCardName;
    /**
     * 用户昵称:
     */
    @ApiModelProperty("用户昵称")
    private String nickName;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        BffSenceDto that = (BffSenceDto) o;
        return sceneId == that.sceneId && senceCode == that.senceCode && sceneName == that.sceneName && sceneRemark == that.sceneRemark && sceneLogo == that.sceneLogo && platformType == that.platformType && ascriptionAppId == that.ascriptionAppId && appName == that.appName && subjectLifeCycle == that.subjectLifeCycle && operationInductionId == that.operationInductionId && operateTime == that.operateTime && userId == that.userId && userFace == that.userFace && idCardName == that.idCardName && nickName == that.nickName;
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), sceneId, senceCode, sceneName, sceneRemark, sceneLogo, platformType, ascriptionAppId, appName, subjectLifeCycle, operationInductionId, operateTime, userId, userFace, idCardName, nickName);
    }
}
